package net.esj.basic.core.engine.support.validator.constraints;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

import net.esj.basic.core.engine.support.validator.constraints.validator.CompareNumberValidator;
import net.esj.basic.core.engine.support.validator.constraints.validator.CompareNumberValidator.CompareMode;


@Target( { ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = CompareNumberValidator.class)
@Documented
public @interface CompareNumber {

	 String message() default "{net.esj.basic.validate.constraints.compareNumber}";
	 
	 Class<?>[] groups() default {};
	 
	 Class<? extends Payload>[] payload() default {};
	 
	 CompareMode value();
	 
}
